// #region [类目]
/**
 * 提取商品类目信息（面包屑导航）
 * @param doc 浏览器DOM Document对象
 * @returns 类目路径字符串（格式："Toys & Games > Arts & Crafts > Clay & Dough"），未找到则返回空字符串
 */
export function extractCategories(doc: Document): string {
  try {
    // 1. 查找面包屑导航容器（对应Python的find('div', id='wayfinding-breadcrumbs_feature_div')）
    const breadcrumbsDiv = doc.getElementById(
      "wayfinding-breadcrumbs_feature_div"
    );
    if (!breadcrumbsDiv) return "";

    // 2. 查找面包屑列表（对应Python的find('ul', class_='a-unordered-list a-horizontal a-size-small')）
    const breadcrumbList = breadcrumbsDiv.querySelector(
      "ul.a-unordered-list.a-horizontal.a-size-small"
    );
    if (!breadcrumbList) return "";

    // 3. 提取所有类目链接文本（对应Python的find_all('a', class_='a-link-normal a-color-tertiary')）
    const categoryLinks = breadcrumbList.querySelectorAll(
      "a.a-link-normal.a-color-tertiary"
    );
    const categories: string[] = [];

    categoryLinks.forEach((link) => {
      const categoryText = link.textContent?.trim() || "";
      // 过滤空文本和分隔符"›"
      if (categoryText && categoryText !== "›") {
        categories.push(categoryText);
      }
    });

    // 用" > "连接类目，返回完整路径
    return categories.length > 0 ? categories.join(" > ") : "";
  } catch (e) {
    const errorMsg = e instanceof Error ? e.message : String(e);
    console.error(`提取类目信息失败: ${errorMsg}`);
    return "";
  }
}
// #endregion